    .region-container {
    	pointer-events: none;
    	position: relative;
    	overflow: hidden;
    	border-radius: 8px;
    	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    }

    .image-wrapper {
    	pointer-events: none;
    	position: relative;
    	margin: 0 auto;
    	background-color: #f8f8f8;
    }

    .scaled-image {
    	pointer-events: none;
    	display: block;
    	object-fit: contain;
    }

    .polygons-container {
    	position: absolute;
    	top: 0;
    	left: 0;
    	z-index: 5;
    }

    .polygon-wrapper {
    	position: absolute;
    	top: 0;
    	left: 0;
    }

    .polygon-fill,
    .polygon-stroke {
    	position: absolute;
    	top: 0;
    	left: 0;
    	width: 100%;
    	height: 100%;
    }

    .polygon-stroke {
    	box-sizing: border-box;
    	border-style: solid;
    	background-color: transparent;
    }

    .markers-container {
    	position: absolute;
    	top: 0;
    	left: 0;
    	z-index: 10;
    }

    .marker-item {
    	position: absolute;
    	pointer-events: auto;
    	cursor: pointer;
    }

    /* 标记点图标容器 */
    .marker-icon-wrapper {
    	position: relative;
    	width: 100%;
    	height: 100%;
    	transition: transform 0.2s ease;
    }

    .marker-icon {
    	width: 100%;
    	height: 100%;
    	object-fit: contain;
    }

    /* 独立的标签覆盖层 */
    .labels-overlay {
    	position: absolute;
    	top: 0;
    	left: 0;
    	z-index: 20;
    	/* 高于标记点容器 */
    	pointer-events: none;
    }

    /* 标记点标签容器 */
    .marker-labels-wrapper {
    	position: absolute;
    	bottom: calc(100% + 8px);
    	left: 50%;
    	/* #ifndef MP-TOUTIAO */
    	white-space: nowrap;
    	/* #endif */
    	opacity: 0;
    	transform: translate(-50%, 10px);
    	transition: all 0.2s ease;
    }

    /* 占位元素样式调整 */
    .placeholder {
    	position: absolute;
    	visibility: hidden;
    	opacity: 0;
    	pointer-events: none;
    	width: max-content;
    	/* 保持内容宽度正确 */
    	top: 0;
    	left: 0;
    }

    /* 标签显示状态 */
    .marker-labels-wrapper.active {
    	opacity: 1;
    	transform: translate(-50%, 0);
    }

    .marker-labels {
    	background-color: rgba(0, 0, 0, 0.8);
    	color: white;
    	padding: 6px 10px;
    	border-radius: 4px;
    	font-size: 12px;
    	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    }

    .label-text {
    	line-height: 1.5;
    }

    /* 选中状态样式 */
    .marker-active {
    	transform: scale(1.1);
    }

    .polygon-edge {
    	position: absolute;
    	transform-origin: 0 50%;
    }

    .extreme-bounds-wrapper {
    	position: absolute;
    	box-sizing: border-box;
    	opacity: 1;
    	transition: opacity 0.2s ease;
    }

    .extreme-bounds-wrapper.active {
    	opacity: 1;
    }

    .extreme-bounds-outer {
    	position: absolute;
    	top: 0;
    	left: 0;
    	width: 100%;
    	height: 100%;
    	border: 2px solid white;
    	box-sizing: border-box;
    	z-index: 1;
    }

    .extreme-bounds-inner {
    	position: absolute;
    	top: 1px;
    	left: 1px;
    	width: calc(100% - 2px);
    	height: calc(100% - 2px);
    	border: 1px solid black;
    	box-sizing: border-box;
    	z-index: 2;
    }

    .lineText {
    	position: absolute;
    	transform: none;
    	/* 直接从左上角定位，无需偏移 */
    	transition: all 0.5s;
    	white-space: nowrap;
    	/* 防止文本换行 */
    	pointer-events: none;
    	/* 避免遮挡点击事件 */
    }

    /* 抖音小程序适配labels标签*/
    .rm-nowrap {
    	/* #ifdef MP-TOUTIAO */
    	white-space: nowrap;
    	/* #endif */
    }
	
	.flicker {
	  background-color: red;
	  border-radius: 50%;
	  width: 16px;
	  height: 16px;
	  animation: flicker 1s infinite;
	}